﻿using MyBlog.Model.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MyBlog.Repository
{
    public class UserRepository : IRepository<User>
    {
        private BlogDBContext _dbContext;
        public UserRepository(BlogDBContext dbContext)
        {
            _dbContext = dbContext;
        }
        public bool Add(User User)
        {
            _dbContext.Users.Add(User);
            int flag=_dbContext.SaveChanges();
            return flag>0?true:false;
        }

        public bool Delete(int id)
        {
            var User = _dbContext.Users.Find(id);
            if (User != null)
                _dbContext.Users.Remove(User);
            int flag = _dbContext.SaveChanges();
            return flag > 0 ? true : false;
        }

        public User Get(int id)
        {
            return _dbContext.Users.Find(id); 
        }

        public List<User> GetAll()
        {
            return _dbContext.Users.ToList();
        }

        public bool Update(User User)
        {
            var muserBlog = _dbContext.Users.Attach(User); ;
            muserBlog.State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            int flag = _dbContext.SaveChanges();
            return flag > 0 ? true : false;
        }
    }
}
